package com.sxy.demo.sxy;


import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author：xzz
 * @description：
 * @date：2022/8/27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "竞价商品区域sku列表信息")
@NoArgsConstructor
@AllArgsConstructor
@Builder(toBuilder = true)
/**
 *   SELECT gps.id                                    AS goodsSkuId,
 *                gps.goods_sku_code                        AS goodsSkuCode,
 *                gps.image_url                             AS imageUrl,
 *                group_concat(gpss.goods_attributes_value) AS goodsSpecifications,
 *                gps.retail_price                          AS retailPrice,
 *                gps.wholesale_price                       AS wholesalePrice,
 *                gps.original_price                        AS originalPrice,
 *                gps.control_price,
 *                gps.goods_spu_id,
 *                gps.consumption_tax_rate,
 *                gps.vat_tax_rate,
 *                gps.goods_weight
 *         FROM rms_goods_public_sku gps
 *                  LEFT JOIN rms_goods_public_sku_specification gpss ON gpss.goods_sku_id = gps.id
 *             AND gpss.deleted = 0
 *         WHERE gps.deleted = 0
 *           and gps.goods_sku_state = 20
 *           AND gps.goods_spu_id = #{spuId}
 *         GROUP BY gps.id
 */
public class BidRegionGoodsSkuItemVO implements Serializable {

    @ApiModelProperty(value = "skuId")
    private Long goodsSkuId;

    @ApiModelProperty(value = "sku编码")
    private String goodsSkuCode;

    @ApiModelProperty(value = "sku图片地址")
    private String imageUrl;

    @ApiModelProperty(value = "规格")
    private String goodsSpecifications;

    @ApiModelProperty(value = "规格值 拼接")
    private String goodStrSkuSpecifications;

    @ApiModelProperty(value = "零售价")
    private BigDecimal retailPrice;

    @ApiModelProperty(value = "总库存")
    private Integer totalStock;

    @ApiModelProperty(value = "库存")
    private Integer stock;

    @ApiModelProperty(value = "供货价")
    private BigDecimal supplyPrice;

    @ApiModelProperty(value = "自编码")
    private String selfCode;

    @ApiModelProperty(value = "条形码")
    private String barCode;

    @ApiModelProperty(value = "批发价")
    private BigDecimal wholesalePrice;

    @ApiModelProperty(value = "出厂价")
    private BigDecimal channelWholesalePrice;

    @ApiModelProperty(value = "吊牌价")
    private BigDecimal originalPrice;

    @ApiModelProperty(value = "控货价")
    private BigDecimal controlPrice;

    private Long goodsSpuId;

    @ApiModelProperty(value = "单位数量")
    private Double unitNum;

    @ApiModelProperty(value = "商品单位id")
    private Long unitId;

    @ApiModelProperty(value = "单位名称")
    private String unitName;

    @ApiModelProperty(value = "消费税率")
    private BigDecimal consumptionTaxRate;

    @ApiModelProperty(value = "增值税率")
    private BigDecimal vatTaxRate;

    @ApiModelProperty(value = "商品重量")
    private BigDecimal goodsWeight;


    /**
     * @see goodsSkuId
     */
    private List<ProductSpecialConfig> productSpecialConfig;
    /**
     * @see goodsSkuId
     */
    private MultipleWelfareSku multipleWelfareSku;

}
